package com.web.base.auth.facade;

import com.blue.jdbc.Page;
import com.web.base.auth.message.RoleRequest;
import com.web.base.auth.message.RoleResponse;
import com.web.base.auth.message.RoleUserRequest;

import java.util.List;

/**
 * 角色接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2017年04月15日
 */
public interface RoleFacade
{

	/**
	 * 添加角色
	 */
	RoleResponse add(RoleRequest request);

	/**
	 * 更新角色
	 */
	RoleResponse update(RoleRequest request);
	
	/**
	 * 查询单个角色
	 */
	RoleResponse get(Integer id);
	
	/**
	 * 查询角色，分页
	 */
	Page<RoleResponse> listPage(RoleRequest request, int start, int size);
	
	/**
	 * 刷新缓存
	 */
	void refresh();
	
	/**
	 * 添加角色－用户关系
	 */
	void addRoleUser(RoleUserRequest request);
	
	/**
	 * 按应用查询角色－用户关联关系
	 */
	List<RoleResponse> listSelect(Integer userId);
	
}
